//package com.learn.gateway.filter;
//
//import javax.servlet.http.Cookie;
//import javax.servlet.http.HttpServletRequest;
//
//import org.apache.commons.lang3.StringUtils;
//import org.apache.http.HttpStatus;
//import org.springframework.cloud.netflix.zuul.filters.support.FilterConstants;
//import org.springframework.stereotype.Component;
//
//import com.learn.gateway.util.CookieUtil;
//import com.netflix.zuul.ZuulFilter;
//import com.netflix.zuul.context.RequestContext;
//
///** 权限校验 per */
//@Component
//public class AuthorizeFilter extends ZuulFilter {
//
//	@Override
//	public boolean shouldFilter() {
//		return true;
//	}
//
//	@Override
//	public String filterType() {
//		return FilterConstants.PRE_TYPE;
//	}
//
//	@Override
//	public int filterOrder() {
//		return FilterConstants.PRE_DECORATION_FILTER_ORDER - 1;
//	}
//
//	@Override
//	public Object run() {
//		RequestContext currentContext = RequestContext.getCurrentContext();
//		HttpServletRequest request = currentContext.getRequest();
//		if(request.getRequestURI().contains("/order/create")) {
//			Cookie cookie = CookieUtil.getCookie(request, "openid");
//			if(cookie == null || StringUtils.isBlank(cookie.getValue())) {
//				currentContext.setSendZuulResponse(false);
//				currentContext.setResponseStatusCode(HttpStatus.SC_UNAUTHORIZED);
//			}
//		}else if(request.getRequestURI().contains("/order/finish")) {
//			Cookie cookie = CookieUtil.getCookie(request, "token");
//			if(cookie == null || StringUtils.isBlank(cookie.getValue())) {
//				currentContext.setSendZuulResponse(false);
//				currentContext.setResponseStatusCode(HttpStatus.SC_UNAUTHORIZED);
//			}
//		}
//		
//		return null;
//	}
//
//}
